package com.qyc.service;

import com.qyc.dto.AddOrUpdateAnimalDTO;
import com.qyc.pojo.Animal;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qyc.utils.ResponseResult;

import java.util.List;

/**
* @author qinyc
* @description 针对表【manager_animal(动物信息表)】的数据库操作Service
* @createDate 2023-06-25 10:52:51
*/
public interface AnimalService extends IService<Animal> {

    /**
     * @Author qinyc
     * @Description  分页多条件查询动物基本信息以及对应批次信息、栏圈信息以及栏舍信息
     * @version: v1.0
     * @Date 11:04 2023/6/25
     **/
    ResponseResult queryPage(Integer pageNum, Integer pageSize, String aHealthy, String aGender);

    /**
     * @Author qinyc
     * @Description  根据动物ID生成对应的二维码信息
     * @version: v1.0
     * @Date 12:16 2023/6/25
     **/
    ResponseResult qrCode(String animalId);

    /**
     * @Author qinyc
     * @Description  根据动物编号查询动物基本信息以及对应批次信息、栏圈信息以及栏舍信息
     * @version: v1.0
     * @Date 12:55 2023/6/25
     **/
    ResponseResult findByAnimalId(String animalId);

    /**
     * @Author qinyc
     * @Description  新增或修改动物
     * @version: v1.0
     * @Date 20:19 2023/6/25
     **/
    ResponseResult saveOrUpdateAnimal(AddOrUpdateAnimalDTO addOrUpdateAnimalDTO);

    /**
     * @Author qinyc
     * @Description  根据ID删除动物
     * @version: v1.0
     * @Date 20:35 2023/6/25
     **/
    ResponseResult deleteById(String aAnimalId);

    /**
     * @Author qinyc
     * @Description  批量删除动物
     * @version: v1.0
     * @Date 20:51 2023/6/25
     **/
    ResponseResult deleteByIdAll(List<String> animalIds);
}
